$(document).ready(function(){
	 
    var htmlRefreshing = '<img src="../img/ajax-loader.gif"/>Refreshing...';

    var htmlLoading = '<div class="loading"><p><img src="../img/ajax-loader.gif"/> Loading, please wait</p></div>';
    var htmlItemsLoading = '<div class="loading"><p><img src="../img/ajax-loader.gif"/> Loading items list, please wait</p></div>';

    var loadedItemsIdList = new Array();
    
    var intervalTemps = 300000; //5 min.
    var llistaSubscripcionsCarregada = false;
    var funcioAcabada = true;
    var llistaSubscripcionsSession = new Array();
    var arrayPositions;
    lastElementBottomPos = 0;
    lstEnd = false;
    initLlistaSubscripcions();

    //Posteriorment definim un interval de refresc
    setInterval(refrescarSubscripcions, intervalTemps);
	
    function initLlistaSubscripcions(){

        $("#elemsensellegir").html(htmlLoading);
		 
        $.ajax({
            url: "/irssrecommendations/Lector/MostrarLlistaSubscripcions?fromRecommendation=false",
            cache: false,
            dataType: "json",
            success: function(data){
                $("#llistaSubscripcions").html("");
                $("#elemsensellegir").html("");

                carregarLlistaSubscripcions(data.liSubscripcions, $("#llistaSubscripcions"), false);
                carregarLlistaSubscripcionsPerEliminar(data.liSubscripcions);
                carregarEtiquetesAutocomplete();
                llistaSubscripcionsCarregada = true;
                refrescarSubscripcions();

            }
        });
    }
    
    function initLlistaUsuarisSubscrits(){
        $("#elemsensellegir").html(htmlLoading);
        $("#refreshingN").show();
        $("#refreshingN").append(htmlRefreshing);
        $("#refreshingS").hide();
        $("#refreshingT").hide();
        $("#refreshingR").hide();

        $.ajax({
            url: "/irssrecommendations/Lector/ShowUsersSubscribedList",
            cache: false,
            dataType: "json",
            success: function(data){
                $("#refreshingN").html("");

                if (data.usersSubscribedList.length<=0) {
                    $("#llistaNeighbors").html("You have 0 subscriptions. You can add some directly from the recommendations pages.");
                } else {
                    $("#llistaNeighbors").html("");

                    for (var i=0;i<data.usersSubscribedList.length;i++)
                        $("#llistaNeighbors").append("<div class='elemUsersSubscribedList' id='" + data.usersSubscribedList[i].idusuari + "' value='"+data.usersSubscribedList[i].login+"' title='Show topics'><img src='../img/label.png' style='width:14px;height:14px; margin-right:10px;'/>"+data.usersSubscribedList[i].name+"</div><div id='topicsBox_" + data.usersSubscribedList[i].login + "' class='topicsBox'></div>");

                    $(".elemUsersSubscribedList").bind("click", function() {

                        var login = $(this).attr("value");
                        var userId = $(this).attr("id");
                        $(".topicsBox").hide();
                        $("#topicsBox_"+login).show();
                        $("#topicsBox_"+login).html(htmlLoading);

                        $.ajax({
                            url:  "/irssrecommendations/Recommendations/GetMatchingClusters?usuari="+login+"&numResults=9",
                            cache: false,
                            dataType: "json",
                            success: function(data){

                                var recOfTopics = data.matchingClustersList;
                                var topicsBox = "";

                                //3 columns x 3 rows
                                for (var j=0;j<recOfTopics.length;j++){

                                    if (j%3==0) topicsBox += "<div class='topicsBoxColumn'>";

                                    topicsBox += "<div id='" + recOfTopics[j].idConcept + "' class='topicsBoxElem'>" + recOfTopics[j].valueConcept + "</div>";

                                    if (j%3==2) topicsBox += "</div>";

                                }

                                $("#topicsBox_"+login).html(topicsBox);

                                $(".topicsBoxElem").bind('click',function(){
                                    $("#welcomeMessage").hide();
                                    $("#capcaleraZonaLectura").show();
                                    $("#mostrarPantallaCompleta").html("");
                                    $("#markAllAsReaded").html("");
                                    $("#magrada").html("");
                                    $("#contenidorTextMostrarItems").html("");
                                    $("#titolFeed").html("<b style='border-bottom:1px solid;'>Selected user "+login+". Filtering by topic "+$(this).html()+"</b>").show();
                                    $("#llistaItemsSubscripcio").html("");
                                    $("#textMain").hide();
                                    $("#llistaItemsSubscripcio").show();
                                    $("#llistaItemsSubscripcio").html(htmlItemsLoading);

                                    listRecommendedItems($(this).attr("id"), $(this).html(), userId);
                                });
                            }
                        });
                    });
                }


            }
        });
    }


    function initLlistaTopicsSubscrits() {

        $("#elemsensellegir").html(htmlLoading);
        $("#refreshingT").show();
        $("#refreshingT").append(htmlRefreshing);
        $("#refreshingS").hide();
        $("#refreshingN").hide();
        $("#refreshingR").hide();

        $.ajax({
            url: "/irssrecommendations/Lector/ShowTopicsSubscribedList",
            cache: false,
            dataType: "json",
            success: function(data){
                $("#refreshingT").html("");

                if (data.topicsSubscribedList.length<=0) {
                    $("#llistaTopics").html("You have 0 subscriptions. You can add some directly from the recommendations pages.");
                } else {
                    $("#llistaTopics").html("");

                    for (var i=0;i<data.topicsSubscribedList.length;i++)
                        $("#llistaTopics").append("<div class='elemTopicsSubscribedList' id='" + data.topicsSubscribedList[i].id + "' value='"+data.topicsSubscribedList[i].valor+"' title='Show items related'><img src='../img/label.png' style='width:14px;height:14px; margin-right:10px;'/>"+data.topicsSubscribedList[i].valor+"</div>");

                    $(".elemTopicsSubscribedList").bind("click", function() {
                        $("#welcomeMessage").hide();
                        $("#capcaleraZonaLectura").show();
                        $("#mostrarPantallaCompleta").html("");
                        $("#markAllAsReaded").html("");
                        $("#magrada").html("");
                        $("#contenidorTextMostrarItems").html("");
                        $("#titolFeed").html("<b style='border-bottom:1px solid;'>Filtering by topic "+$(this).attr("value")+"</b>").show();

                        listRecommendedItemsByTopic($(this).attr("id"), $(this).attr("value"));
                    
                    });
                }
            }
        });
    }


    /*
     * Llistat de les lectures
     * d'una subscripcio
     * a la zona de llista de lectures
     */
    function listRecommendedItemsByTopic(conceptId, conceptName) {

        $("#llistaItemsSubscripcio").html("");
        $("#textMain").hide();
        $("#llistaItemsSubscripcio").show();
        $("#llistaItemsSubscripcio").html(htmlItemsLoading);

        $.ajax({
            url: "/irssrecommendations/Recommendations/GetTopItemsByCluster?selectedId="+conceptId,
            cache: true,
            dataType: "json",
            success: function(data){
                $("#llistaItemsSubscripcio").html("");

                var items = data.llistaGlobalItems;
                loadedItemsIdList = new Array(items.length);
                //Amaguem el contenidor d'items si es que hi ha alguna cosa
                $("#llistaItemsSubscripcio").html("Showing " + items.length + " elements talking about " + conceptName);
                for (var idx=0;idx<items.length;idx++){
                    var item = items[idx]

                    $("#llistaItemsSubscripcio").append("<div id='" + item.id + "' class='contenidorItem'>"+
                        "<div id='titolContingutItem'><a href='"+item.link+"' target='_blank'>"+item.title+"</a></div>"+
                        "<div class='subheaderItem'><div class='publishedDateItem'>Published data: "+item.dataPublicacioString+"</div>"+
                        "<div class='readedIn'>readed in " + item.feed.titol + "</div></div><div class='itemContent'>"+ item.content +"</div></div>");

                    //save items already showed
                    loadedItemsIdList[idx] = item.id;
                }
                //un cop plena, la mostrem
                $("#llistaItemsSubscripcio").show();
                $("#llistaItemsSubscripcio").append("<div id='showMoreItems'>You've seen all items talking about "+ conceptName +".</div>");

                $("#showMoreItems").one("click", function(){

                    $.ajax({
                        url: "/irssrecommendations/Recommendations/FillTopicItemsByCluster?selectedConceptId="+conceptId+"&itemsIdAlreadyShowed="+loadedItemsIdList,
                        cache: false,
                        dataType: "json",
                        success: function(data){
                            var llista = data.fillPersItemsList;

                            if (llista.length>0){
                                $("#showMoreItems").append("<span>Showing " + llista.length + " elements</span>")
                                for (var i=0;i<llista.length;i++){
                                    var item = llista[i]
                                    $("#llistaItemsSubscripcio").append("<div id='" + item.id + "' class='contenidorItem'>"+
                                        "<div id='titolContingutItem'>"+
                                        "<a href='"+item.link+"' target='_blank'>"+item.title+"</a>"+
                                        "</div>"+
                                        "<div class='subheaderItem'>"+
                                        "<div class='publishedDateItem'>Published data: "+item.dataPublicacioString+"</div>"+
                                        "<div class='readedIn'>readed in " + item.feed.titol + "</div>"+
                                        "</div>"+
                                        "<div id='contingutContingutItem'>"+ item.content +"</div>"+
                                        "</div>");
                                }
                                $("#llistaItemsSubscripcio").scrollTo($("#showMoreItems"),800);
                                $(".subscribePersFeed").bind("click", function(){

                                    $("#urlFeed").val($(this).attr('value'));
                                        
                                    $(this).colorbox({
                                        width: '360px',
                                        height:'200px',
                                        inline:true,
                                        open:true,
                                        href:"#addSubscriptionFromRecommendation"
                                    });

                                });


                            } else {
                                $("#showMoreItems").append("<span>There are no more items.</span>");
                            }

                        }
                    });
                });

            }
        });       
    }

    /*
     * Llistat de les lectures
     * d'una subscripcio
     * a la zona de llista de lectures
     */
    function listRecommendedItems(conceptId, conceptName, userId){

        $("#llistaItemsSubscripcio").html(htmlItemsLoading);
        
        $.ajax({
            url: "/irssrecommendations/Recommendations/GetPersItemsByCluster?selectedConceptId="+conceptId+"&selectedUserId="+userId,
            cache: true,
            dataType: "json",
            success: function(data){
                var items = data.persItemsList;
                loadedItemsIdList = new Array(items.length);
                //Amaguem el contenidor d'items si es que hi ha alguna cosa
                $("#llistaItemsSubscripcio").html("Showing " + items.length + " elements talking about " + conceptName);

                for (var idx=0;idx<items.length;idx++){
                    $("#textMain").hide();
                    var item = items[idx]

                    $("#llistaItemsSubscripcio").append("<div id='" + item.id + "' class='contenidorItem'>"+
                        "<div id='titolContingutItem'>"+
                        "<a href='"+item.link+"' target='_blank'>"+item.title+"</a>"+
                        "</div>"+
                        "<div class='subheaderItem'>"+
                        "<div class='publishedDateItem'>Published data: "+item.dataPublicacioString+"</div>"+
                        "<div class='readedIn'>readed in " + item.feed.titol + "</div>"+
                        "</div>"+
                        "<div class='itemContent'>"+ item.content +"</div>"+
                        "</div>");

                    //save items already showed
                    loadedItemsIdList[idx] = item.id;
                }
                //un cop plena, la mostrem
                $("#llistaItemsSubscripcio").show();
                $("#llistaItemsSubscripcio").append("<div id='showMoreItems'>You've seen all items talking about "+ conceptName +".</div>");

                $("#showMoreItems").one("click", function(){

                    $.ajax({
                        url: "/irssrecommendations/Recommendations/FillPersItemsByCluster?selectedConceptId="+conceptId+"&selectedUserId="+userId+"&itemsIdAlreadyShowed="+loadedItemsIdList,
                        cache: false,
                        dataType: "json",
                        success: function(data){
                            var llista = data.fillPersItemsList;

                            if (llista.length>0){
                                $("#showMoreItems").append("<span> Showing " + llista.length + " elements</span>")
                                for (var i=0;i<llista.length;i++){
                                    var item = llista[i]
                                    $("#llistaItemsSubscripcio").append("<div id='" + item.id + "' class='contenidorItem'>"+
                                        "<div id='titolContingutItem'>"+
                                        "<a href='"+item.link+"' target='_blank'>"+item.title+"</a>"+
                                        "</div>"+
                                        "<div class='subheaderItem'>"+
                                        "<div class='publishedDateItem'>Published data: "+item.dataPublicacioString+"</div>"+
                                        "<div class='readedIn'>readed in " + item.feed.titol + "</div>"+
                                        "</div>"+
                                        "<div id='contingutContingutItem'>"+ item.content +"</div>"+
                                        "</div>");
                                }
                                $("#llistaItemsSubscripcio").scrollTo($("#showMoreItems"),800);

                                $(".subscribePersFeed").bind("click", function(){

                                    $("#urlFeed").val($(this).attr('value'));
                                        
                                    $(this).colorbox({
                                        width: '360px',
                                        height:'200px',
                                        inline:true,
                                        open:true,
                                        href:"#addSubscriptionFromRecommendation"
                                    });

                                });


                            }
                            else {
                                $("#showMoreItems").append("<span>There are no more items.</span>");
                            }

                        }
                    });
                });

            }
        });
    }
    /*
     * Carrega de la llista de subscripcions 
     * del menu principal
     */
    function carregarLlistaSubscripcions(liSubscripcions, objHtmlList, isRecommendationsList){
	 		
        var i;
        var numItemsTotals = 0;
        objHtmlList.html("");
        if (liSubscripcions.length==0) {
            if(!isRecommendationsList)
                objHtmlList.html("You have 0 subscriptions. Start adding some by clicking the button 'Add Feed'");
            else
                objHtmlList.html("You have 0 subscriptions. You can add some directly from the recommendations pages.");
        }

        else // there is at least 1 subscription
        {
            var oldEtiqueta=null;
            if (liSubscripcions[0].etiqueta == null && !isRecommendationsList)
                objHtmlList.append("<div class='titolEtiqueta'>not labeled...</div>");
            
            for (i=0;i<liSubscripcions.length;i++)
            {
                var subscripcio = liSubscripcions[i];

                llistaSubscripcionsSession[i] = subscripcio.id;
                if (!isRecommendationsList && (subscripcio.etiqueta!=null && oldEtiqueta==null) || (subscripcio.etiqueta!=null && oldEtiqueta!=null && subscripcio.etiqueta.nom!=oldEtiqueta.nom))
                    objHtmlList.append("<div class='titolEtiqueta'><img src='../img/label.png' style='width:14px;height:14px; margin-right:10px;'/>"+subscripcio.etiqueta.nom+"</div>");
		
                title = subscripcio.feed.titol;
                if (subscripcio.feed.titol.length>25)
                    title = subscripcio.feed.titol.substring(0,25) + "...";
                
                objHtmlList.append("<div id='"+subscripcio.id+"' class='elemLlistaSubscripcions'> "+
                    "<hidden value=\""+subscripcio.feed.link+"\" /> "+
                    "<div id='titolElemLlistaSubscripcions' value='"+ subscripcio.feed.titol +"'>"+title+"</div>"+
                    "<div id='numItems_"+subscripcio.id+"' class='numItems'>"+subscripcio.numItemsNoLlegits+"</div>" +
                    "<div class='msgNumItems'>Actualitzat</div>" +
                    "</div>");
		 			
                oldEtiqueta = subscripcio.etiqueta;
		 			
                numItemsTotals=numItemsTotals+parseInt(subscripcio.numItemsNoLlegits);
		 			
                $("#"+subscripcio.id).bind('click', function(){
                    //Esborrem el que hi hagi a itemContent si es que hi ha alguna cosa
                    $("#welcomeMessage").hide();
                    $("#textMain").hide();
                    $("#divInform").hide();
                    $("#contenidorItem").hide();
                    $("#markAllAsReaded").html("Mark all as readed");
                    activeSubscription = $(this).attr("id");
                    var feedTitol = $(this).children("#titolElemLlistaSubscripcions").attr("value");
                    var numItems = $("#numItems_"+$(this).attr("id")+"").html();
                    if (feedTitol.length>100)
                        feedTitol = feedTitol.substring(0,100) + "...";

                    $("#titolFeed").html(feedTitol);
	 
                    $("#contenidorTextMostrarItems").html("<div id=\"mostrarNoLlegitsItems\" class=\"textMostrarItems\">New items:</div> <div id=\"numItemsTitolFeed\" class=\"blau negreta\">"+numItems+"</div> <div id=\"mostrarTotsItems\" class=\"textMostrarItems\">All items</div>");

                    $("#mostrarNoLlegitsItems").addClass("negreta");

                    $("#llistaItemsSubscripcio").html("");
                    $("#capcaleraZonaLectura").show();
                    $("#llistaItemsSubscripcio").show();

                    $("#textMainRec").html();
                    $("#divInform").html();

                    lastElementBottomPos = 0;
                    toElement = 6;
                    tipusLlistat = "0";
                    $("#bottomReadingsList").html(htmlLoading);
                    $("#bottomReadingsList").show();

                    llistarItemsSubscripcio();

                    $("#mostrarTotsItems").click(function(){
                        $("#mostrarTotsItems").addClass("negreta");
                        $("#mostrarNoLlegitsItems").removeClass("negreta");
                        $("#numItemsTitolFeed").removeClass("negreta");
                        tipusLlistat = "1";
                        $("#llistaItemsSubscripcio").html("");
                        llistarItemsSubscripcio();
                    });
                		 				 
                    $("#mostrarNoLlegitsItems").click(function(){
                        $("#mostrarNoLlegitsItems").addClass("negreta");
                        $("#numItemsTitolFeed").addClass("negreta");
                        $("#mostrarTotsItems").removeClass("negreta");
                        tipusLlistat = "0";
                        $("#llistaItemsSubscripcio").html("");
                        llistarItemsSubscripcio();
                    });
	
                });
            }
        }
    }
	 
    /*
     * Llistat de les lectures 
     * d'una subscripcio
     * a la zona de llista de lectures
     */
    function llistarItemsSubscripcio(){
        lstEnd = false;
        setTimeout(function(){ //Per esperar que s'acabin de marcar com a llegides les lectures pendents,

            var lectures = new Array();
            $.ajax({
                url: "/irssrecommendations/Lector/MostrarSubscripcio?idSubscripcio=" + activeSubscription + "&queMostrar=" + tipusLlistat + "&toElement=" + toElement,
                cache: false,
                dataType: "json",
                success: function(data){
                    lectures = data.lectures;
                    if (lectures.length < 3) {
                        lstEnd = true;
                    }

                    for (var i=0;i<lectures.length;i++){
                        generarContingutLectura(lectures[i], false);
                        $("#"+lectures[i].id).hide();
                    }
        
                    setTimeout(function(){//per esperar que es carreguin les imatges als elements que causen problemes amb el scroll si encara no s'han carregat
                        // console.log("mostrant lectures de "+from+ " a "+ (to-1));
                        $("#bottomReadingsList").hide();
                        $("#llistaItemsSubscripcio").bind('mousewheel', function(){
                            x = "foooooo";
                        });
                        var readedReadings = new Array();
                        for (i=0; i<lectures.length; i++) {
                            readedReadings[i] = false;
                            $("#"+lectures[i].id).show();
                        }

                        //Calculem la posicio respecte al top absolut de cada element en pixels
                        if (lectures.length>0){
                            if(tipusLlistat == "0"){

                                //restem el espai del header de l'espai de lectura
                                arrayPositions = new Array(lectures.length+1);
                                var topOffset = $("#"+lectures[0].id).position().top;

                                for (i=0;i<lectures.length;i++){
                                    arrayPositions[i] = $("#"+lectures[i].id).position().top - topOffset + lastElementBottomPos;
                                //       console.log("arrayPositions " + arrayPositions[i]);
                                }
                                arrayPositions[i] = $("#"+lectures[i-1].id).position().top+$("#"+lectures[i-1].id).height() - topOffset + lastElementBottomPos;
                                // console.log("arrayPositions " + arrayPositions[i]);

                                $("#llistaItemsSubscripcio").bind('scroll', function() {
                                    var idx = 0;
                                    for (idx=0;idx<lectures.length; idx++) {
                                        if(arrayPositions[idx+1]>=$("#llistaItemsSubscripcio")[0].scrollTop && $("#llistaItemsSubscripcio")[0].scrollTop>=arrayPositions[idx]) {
                                            //                                    $("#" + lectures[idx].id).addClass("currentReading");
                                            if (readedReadings[idx] == false) {
                                                readedReadings[idx] = true;
                                                $.ajax({
                                                    url: "/irssrecommendations/Lector/MarkAsReaded?idLectura=" + lectures[idx].id,
                                                    cache: false,
                                                    dataType: "json",
                                                    success: function() {
                                                        $("#numItems_"+activeSubscription).html(parseInt($("#numItems_"+activeSubscription).html())-1);
                                                        $("#numItemsTitolFeed").html(parseInt($("#numItemsTitolFeed").html())-1);
                                                    }
                                                });
                                            }

                                        }
                                    }
                                    if ($("#llistaItemsSubscripcio")[0].offsetHeight + $("#llistaItemsSubscripcio")[0].scrollTop >= $("#llistaItemsSubscripcio")[0].scrollHeight) {
                                        //console.log("buclejem per acabar de llegir el que no estigui llegit");
                                        cridat = false;

                                        for (var aux = 0;aux<lectures.length;aux++){
                                            //    console.log("Hem arribat al darrer element es " + lectures[aux].item.title);
                                            if (readedReadings[aux] == false) {
                                                readedReadings[aux] = true;
                                                $.ajax({
                                                    url: "/irssrecommendations/Lector/MarkAsReaded?idLectura=" + lectures[aux].id,
                                                    cache: false,
                                                    dataType: "json",
                                                    success: function() {
                                                        $("#numItems_"+activeSubscription).html(parseInt($("#numItems_"+activeSubscription).html())-1);
                                                        $("#numItemsTitolFeed").html(parseInt($("#numItemsTitolFeed").html())-1);
                                                    }
                                                });
                                            }
                                        }

                                        if (!cridat && !lstEnd) {
                                            cridat = true;
                                            $("#llistaItemsSubscripcio").unbind('scroll');
                                            $("#llistaItemsSubscripcio").unbind('mousewheel');

                                            toElement = 3;
                                            lastElementBottomPos = arrayPositions[arrayPositions.length-1];
                                            //console.log("Cridem recursivament a la llista. el lastelement es " + lastElementBottomPos);
                                            $("#bottomReadingsList").html(htmlItemsLoading);
                                            $("#bottomReadingsList").show();
                                            llistarItemsSubscripcio();
                                        }
                                    }

                                });

                                $("#markAllAsReaded").click(function(){

                                    $.ajax({
                                        url: "/irssrecommendations/Lector/MarcarTotesLecturesLlegides?idSubscripcio=" + activeSubscription,
                                        cache: false,
                                        dataType: "json",
                                        success: function()
                                        {
                                            tipusLlistat = "1";
                                            $("#llistaItemsSubscripcio").html("");
                                            llistarItemsSubscripcio();
                                            $("#numItemsTitolFeed").html("0");

                                        }
                                    });
                                });
                            } else if (tipusLlistat == "1") {
                                $("#llistaItemsSubscripcio").bind('scroll', function() {
                                    console.log("helloouuu 1");
                                    if ($("#llistaItemsSubscripcio")[0].offsetHeight + $("#llistaItemsSubscripcio")[0].scrollTop >= $("#llistaItemsSubscripcio")[0].scrollHeight) {
                                        cridat = false;
                                        if (!cridat && !lstEnd) {
                                            cridat = true;
                                            lstEnd = false;
                                            $("#llistaItemsSubscripcio").unbind('scroll');
                                            toElement = 3;
                                            //console.log("Cridem recursivament a la llista. el lastelement es " + lastElementBottomPos);
                                            $("#bottomReadingsList").show();
                                            llistarItemsSubscripcio();
                                        }
                                    }
                                });
                            }
                        } else {
                            $("#markAllAsReaded").html("");
                            $("#llistaItemsSubscripcio").html("<h3>You have readed all items for this subscription. <span id='showAllItems' style='cursor:pointer'>Showing All.</span></h3>");
                            tipusLlistat = "1";
                            llistarItemsSubscripcio();
                        }
                    }, 1000);
                }
            });
        }, 1000);
    }
	 
    /*
     * Generacio del contingut d'una lectura
     * (titol, contingut, data, botons de votar i marcar llegit/nollegit)
     */
	 
    function generarContingutLectura(lectura, venimDeLlistaLecturesVotades) {

        var opcionsContingut;

        if (venimDeLlistaLecturesVotades==false) {
            if (lectura.valorada==true)
                opcionsContingut = "<div id=\"opcionsContingutItem\"><div class=\"opcionsContingutItem\" id=\"marcarLlegidaONoLlegida_"+lectura.id+"\" value=\""+lectura.id+"\">mark as readed</div><div id=\"votarLectura_"+lectura.id+"\" value=\""+lectura.id+"\" class=\"opcionsContingutItemVotRed\">quit vote</div></div>";
            else
                opcionsContingut = "<div id=\"opcionsContingutItem\"><div class=\"opcionsContingutItem\" id=\"marcarLlegidaONoLlegida_"+lectura.id+"\" value=\""+lectura.id+"\">mark as unread</div><div id=\"votarLectura_"+lectura.id+"\" value=\""+lectura.id+"\" class=\"opcionsContingutItemVot\">vote item</div></div>";
        }
			 	
        $("#llistaItemsSubscripcio").append("<div id=\"" + lectura.id + "\" class=\"contenidorItem\"><div id=\"titolContingutItem\"><a href=\""+lectura.item.link+"\" target=\"_blank\">"+lectura.item.title+"</a></div><div id=\"dataContingutItem\">Published data: "+lectura.item.dataPublicacioDisplay+"</div><div id=\"contingutContingutItem\">"+lectura.item.content+"</div>"+opcionsContingut+"</div>");
        
        /* Comportament del boto de marcar lectura llegida o no llegida
         */
        $("#marcarLlegidaONoLlegida_"+lectura.id).click(function(){
            var idLectura = $(this).attr("value");

            $.ajax({
                url: "/irssrecommendations/Lector/MarcarLlegidaONoLlegida?idLectura=" + idLectura,
                cache: false,
                dataType: "json",
                success: function(data) {
                    if (data.llegit == true) {
                        $("#numItems_"+activeSubscription).html(parseInt($("#numItems_"+activeSubscription).html())+1);
                        $("#numItemsTitolFeed").html(parseInt($("#numItemsTitolFeed").html())+1);
                    } else {
                        $("#numItems_"+activeSubscription).html(parseInt($("#numItems_"+activeSubscription).html())-1);
                        $("#numItemsTitolFeed").html(parseInt($("#numItemsTitolFeed").html())-1);
                    }
                }
            });
        });
			 	
        /*
         * Comportament del boto de votar lectura
         */
        $("#votarLectura_"+lectura.id).click(function(){

            var idLectura = $(this).attr("value");
	
            $.ajax({
                url: "/irssrecommendations/Lector/VotarLectura?idLectura="+idLectura,
                cache: false,
                dataType: "json",
                success: function(data){
                    if (data.valoracio==false) {
                        $("#votarLectura_"+idLectura).html("Voted!!(click to quit)");
                        $("#votarLectura_"+idLectura).removeClass("opcionsContingutItemVot");
                        $("#votarLectura_"+idLectura).addClass("opcionsContingutItemVotRed");
                    }
                    else {
                        $("#votarLectura_"+idLectura).html("Vote!");
                        $("#votarLectura_"+idLectura).removeClass("opcionsContingutItemVotRed");
                        $("#votarLectura_"+idLectura).addClass("opcionsContingutItemVot");

                    }
                }
            });
        });

    }

    function llistarItemsVotats() {

        $("#titolFeed").html("Voted readings");
        $("#llistaItemsSubscripcio").html(htmlLoading);
        $.ajax({
            url: "/irssrecommendations/Lector/MostrarItemsVotats",
            cache: false,
            dataType: "json",
            success: function(data) {

                $("#llistaItemsSubscripcio").html("");
              
                for (var i=0;i<data.lectures.length;i++) {
                    generarContingutLectura(data.lectures[i], true);
                }
                if(data.lectures.length==0) {
                    $("#llistaItemsSubscripcio").append("<h3>No items voted.</h3>");
                }
                $("#llistaItemsSubscripcio").show();

            }
        });
    }
	 
    function carregarEtiquetesAutocomplete(){

        $("#formEtiqueta").val(htmlLoading);
        $.ajax({
            url: "/irssrecommendations/Lector/ListEtiquetesAutocomplete",
            cache: false,
            dataType: "json",
            success: function(data){
                $("#formEtiqueta").val("");
                $("#formEtiqueta").autocomplete(data.etiquetes);
            }
        });
    }

    function carregarFeedsAutocomplete(){
    	
        var urlJSON= "/irssrecommendations/Lector/ListFeedsAutocomplete";
		 
        $("#formEtiqueta").val(htmlLoading);

		 
        $.ajax({
            url: urlJSON,
            cache: false,
            dataType: "json",
            success: function(data){
                $("#urlFeedAfegir").val("");
                $("#urlFeedAfegir").autocomplete(data.llistaFeeds);
            }
        });
    }

    function carregarLlistaSubscripcionsPerEliminar(llistaSubscripcions){
		 
        $("#urlFeedEsborrar").html("");
	 	
        for (var i=0;i<llistaSubscripcions.length;i++) {
            var subscripcio = llistaSubscripcions[i];
            $("#urlFeedEsborrar").append("<option id=\""+subscripcio.id+"\" value=\""+subscripcio.feed.link+"\">"+subscripcio.feed.titol+"</option>");
        }
    }

    function refrescarSubscripcions() {
			
        if (llistaSubscripcionsCarregada == true && funcioAcabada == true && llistaSubscripcionsSession.length>0) {
            funcioAcabada = false;
            var urlJSON= "/irssrecommendations/Lector/RefrescarLector?LlistaIdsSubscripcions="+llistaSubscripcionsSession;
            $("#refreshingS").show();
            $("#refreshingS").append(htmlRefreshing);
            $("#refreshingT").hide();
            $("#refreshingN").hide();
            $("#refreshingR").hide();
            $.ajax({
                url: urlJSON,
                cache: false,
                dataType: "json",
                success: function(data){
                    $("#refreshingS").html("");
                    var numItemsTotals = 0;
				 	
                    for (var i=0;i<data.liSubscripcions.length;i++) {
                        var subscripcio = data.liSubscripcions[i];
			 			
                        var numItemsAux = jQuery.trim($("#numItems_"+subscripcio.id).html());
                        var numItemsActual = parseInt(numItemsAux);
                        var numItemsVinent = parseInt(subscripcio.numItemsNoLlegits);

                        numItemsTotals = numItemsTotals+numItemsVinent;
						
                        if (numItemsVinent - numItemsActual > 0) {
                            var numItems = parseInt(numItemsVinent);
                            $("#numItems_"+subscripcio.id).html(numItems);
                            $("#numItems_"+subscripcio.id).next("div").show('slow').fadeOut(3000);
                        }

                    }
                    funcioAcabada = true;
                }
            });
        }
    }

    //Metode per amagar o mostrar la llista de items d'una subscripcio
    $("#mostrarPantallaCompleta").click(function(){
		 
        if($("#llistaItemsSubscripcio").is(":hidden")) {
            $("#llistaItemsSubscripcio").slideDown("slow");
            $("#contenidorItem").css({
                height:'75%'
            });
            $("#mostrarPantallaCompleta").html("Hide items list");
        } else {
            $("#llistaItemsSubscripcio").slideUp("slow");
            $("#contenidorItem").css({
                height:'90%'
            });
            $("#mostrarPantallaCompleta").html("Show items list");
        }
	 
    });

    $("#afegirSubscripcio").colorbox({
        width:"390px",
        height:'250px',
        inline:true,
        href:"#formAfegirSubscripcio"
    });
    $("#eliminarSubscripcio").colorbox({
        width:"390px",
        height:'250px',
        inline:true,
        href:"#formEliminarSubscripcio"
    });
	 
    $("#buttonFormAfegirSubscripcio").click(function(){
        afegirSubscripcio();
    });

    function afegirSubscripcio() {
        $("#textLoadingAfegirSubscripcio").html("<p class=\"textPetit\">"+htmlLoading+"</p>");
		 
        var feedURL = $("input#urlFeedAfegir").val();
		 
        if(feedURL == "") {
            $("#textLoadingAfegirSubscripcio").html("<p class=\"errorMessage\">URL is required</p>");
            return false;
        } else {
            		 
            var label = $("input#formEtiqueta").val();

            $.ajax({
                url: "/irssrecommendations/Lector/AddNewSubscription?urlFeed="+feedURL+"&etiqueta="+label,
                cache: false,
                dataType: "json",
                success: function(data){
	
                    if (data.errorMessage != null) {
                        $("#textLoadingAfegirSubscripcio").append("<p class=\"errorMessage\">"+data.errorMessage+"</p>");
                    } else {
                        $("#textLoadingEliminarSubscripcio").html("<p class=\"errorMessage\">Done!!</p>");
                        initLlistaSubscripcions();
                        parent.$.fn.colorbox.close();
                        window.location = $("#refreshHomePage").attr("href");
                    }
                }
            });
            return true;
        }
    }

	 
    $("#buttonFormEliminarSubscripcio").bind('click', function(){
        eliminarSubscripcio();
    });

		 
    function eliminarSubscripcio() {
        var idSubscripcio = $("#urlFeedEsborrar option:selected").attr("id");

        $("#textLoadingEliminarSubscripcio").append("<p class=\"textPetit\">"+htmlLoading+"</p>");
        var urlJSON= "/irssrecommendations/Lector/EliminarSubscripcio?idSubscripcio="+idSubscripcio;

        $.ajax({
            url: urlJSON,
            cache: false,
            dataType: "json",
            success: function(data){
	
                if (data.errorMessage != null)
                    $("#textLoadingEliminarSubscripcio").append("<p class=\"errorMessage\">"+data.errorMessage+"</p>");
                else {
                    $("#textLoadingEliminarSubscripcio").html("<p class=\"errorMessage\">Done!!</p>");
                    parent.$.fn.colorbox.close();
                    window.location = $("#refreshHomePage").attr("href");
                }
            }
        });
    }
    
	 
    $("#editarInfoUsuari").bind('click', function() {
        window.location = '../pages/editarUsuari.jsp';
    });
	 
    $("#donarDeBaixaUsuari").bind('click', function() {
        window.location = '../pages/baixaUsuari.jsp';

    });

    $("#formAfegirSubscripcio").submit(function() {
        return false;
    });
    $("#formAddSubscriptionFromRecommendation").submit(function() {
        return false;
    });
    $("#formEliminarSubscripcio").submit(function() {
        return false;
    });
	 
    $("#mostrarItemsVotats").bind('click', function() {

        $("#welcomeMessage").hide();
        $("#divInform").hide();
        $("#textMain").hide();
        $("#contenidorItem").hide();
        $("#contenidorTextMostrarItems").html("");
        $("#llistaItemsSubscripcio").html("");

 
        llistarItemsVotats();
    });
	 
    $("#gotorecommendations").click(function() {

        var string = "/irssrecommendations/" + $("#linkRecom").attr("href");
        window.location = string;
		 
    });
    
    $("#titleLlistaSubscriptions").click(function(){
        if($("#llistaSubscripcions").is(":hidden")) {
            $("#llistaSubscripcions").slideDown("slow");
            $("#llistaTopics").slideUp("slow");
            $("#llistaNeighbors").slideUp("slow");
        }
    });

    $("#titleLlistaTopics").click(function(){
        if($("#llistaTopics").is(":hidden")) {
            initLlistaTopicsSubscrits();
            $("#llistaTopics").slideDown("slow");
            $("#llistaSubscripcions").slideUp("slow");
            $("#llistaNeighbors").slideUp("slow");
        }
    });
    $("#titleLlistaNeighbors").click(function(){
        if($("#llistaNeighbors").is(":hidden")) {
            initLlistaUsuarisSubscrits();
            $("#llistaNeighbors").slideDown("slow");
            $("#llistaSubscripcions").slideUp("slow");
            $("#llistaTopics").slideUp("slow");
        }
    });

    $("#titleLlistaSubscriptions").click(function(){
        refrescarSubscripcions();
    });
    
    
    $("#searchByTopicBtn").bind('click', function(){

        $("#llistaItemsSubscripcio").show();
        $("#llistaItemsSubscripcio").html("<div id='showingElementsBar'>" + htmlLoading + "</div>")
        listItemsByTopic();
    });
    
    function listItemsByTopic() {
        $.ajax({
            url: "/irssrecommendations/Lector/ListItemsByTopic?topic="+$("input#topicName").val(),
            cache: false,
            dataType: "json",
            success: function(data){
                var items = data.itemsLst;
                //    loadedItemsIdList = new Array(items.length);
                //Amaguem el contenidor d'items si es que hi ha alguna cosa
                if (items.length==0) {
                    $("#llistaItemsSubscripcio").html("<h3>Sorry! Nothing found about "+$("input#topicName").val()+"...</h3>");
                } else {
                    $("#capcaleraZonaLectura").hide();
                    $("#llistaItemsSubscripcio").html("<div id='showingElementsBar'>Showing " + items.length + " elements talking about " + $("input#topicName").val() + ".<span style='margin-left:10px;'>You can also <span id='listFeedsByTopic'>browse related feeds</span></span></div>");
                    for (var idx=0;idx<items.length;idx++){
                        $("#llistaItemsSubscripcio").append("<div style='margin-bottom:3px; font-size:1.3em;border-bottom:1px solid saddleBrown;'>Items talking about <b>" + items[idx].topic.valor + "</b><span class='subscribePersTopic' value='" + items[idx].topic.valor + "'><img src='../img/likeit.gif'/></span></div>"); 
                        
                        var lstItems = items[idx].itemsLst;
                        for (var i=0;i<lstItems.length;i++) {
                            $("#textMain").hide();
                            var item = lstItems[i]
                            $("#llistaItemsSubscripcio").append("<div id='" + item.id + "' class='contenidorItem'>"+
                                "<h2 id='titolContingutItem'>"+
                                "<a href='"+item.link+"' target='_blank'>"+item.title+"</a>"+
                                "</h2>"+
                                "<div class='subheaderItem'>"+
                                "<div class='publishedDateItem'>Published data: "+item.dataPublicacioString+"</div>"+
                                //TODO arreglar el feed que aparegui millor
                                "<div class='readedIn'>readed in " + item.feed.titol + "<span class='subscribePersFeed' title='" + item.feed.titol + "'  value='" + item.feed.link + "'><img src='../img/likeit.gif'/></span></div>"+
                                "</div>"+
                                "<div class='itemContent'>"+ item.content +"</div>"+
                                "</div>");
                        }
                        
                    }
                    $(".subscribePersTopic").click(function(){
                        if(confirm("You are going to subscribe this topic. Dou you want to continue?")) {
                            $('body').css('cursor', 'wait');

                            $.ajax({
                                url:  "/irssrecommendations/Recommendations/CreateTopicSubscription?selectedConceptName="+$(this).attr("value"),
                                cache: false,
                                dataType: "json",
                                success: function(){

                                    if (data.errorMessage!=null && data.errorMessage!="") {
                                        alert(data.errorMessage);
                                    } else {
                                        alert("Success! Topic subscribed. You can browse it in the RSS Reader view.");
                                    }
                                    $('body').css('cursor', 'auto');

                                }
                            });
                        }
                    });
                }
                //un cop plena, la mostrem
                //$("#llistaItemsSubscripcio").show();


    
                $(".subscribePersFeed").bind("click", function(){

                    $("#urlFeed").val($(this).attr('value'));
                                        
                    $(this).colorbox({
                        width: '360px',
                        height:'200px',
                        inline:true,
                        open:true,
                        href:"#addSubscriptionFromRecommendation"
                    });

                });

                $("#listFeedsByTopic").bind("click", function() {
                    $("#llistaItemsSubscripcio").html("");

                    $("#llistaItemsSubscripcio").show();
                    $("#llistaItemsSubscripcio").html("<div id='showingElementsBar'>" + htmlLoading + "</div>")

                    listFeedsByTopic();
                });
            }
        });

    }
    
    function listFeedsByTopic() {
        $.ajax({
            url: "/irssrecommendations/Lector/ListFeedsByTopic?topic="+$("input#topicName").val(),
            cache: false,
            dataType: "json",
            success: function(data){
                var feedsByTopic = data.feedsLst;
                
                $("#capcaleraZonaLectura").hide();
                $("#llistaItemsSubscripcio").html("<div id='showingElementsBar' style='width:99%; border-bottom: 1px solid saddleBrown'>Showing " + feedsByTopic.length + " feeds talking about " + $("input#topicName").val() + ".<span id='listFeedsByTopic'><span style='margin-left:10px;'>Turn back to items list</span></span></div>");
                    
                for (var i=0; i<feedsByTopic.length; i++) {
                    var topic = feedsByTopic[i].topic;
                    var feeds = feedsByTopic[i].feedsLst;
                    //Amaguem el contenidor d'items si es que hi ha alguna cosa
                
                    $("#llistaItemsSubscripcio").append("<div style='font-size: 1.5em; font-weight: bold; margin: 10px;padding: 6px;background-color: SandyBrown;'>" + topic.valor + "<span class='subscribePersTopic' value='" + topic.valor + "'><img src='../img/likeit.gif'/></span></div>");
                    
                    for (var idx=0;idx<feeds.length;idx++){
                        $("#textMain").hide();
                        var feed = feeds[idx]
                        $("#llistaItemsSubscripcio").append("<div style='font-size: 1.3em;margin: 10px;padding: 0 20px;'><span id='"+feed.link+"'>"+feed.titol+"</span>"+
                            "<span class='subscribePersFeed' title='" + feed.titol +"' value='" + feed.link + "'><img src='../img/likeit.gif'/></span></div>");
                    }
                
                }                //un cop plena, la mostrem
                $(".subscribePersTopic").click(function(){
                    if(confirm("You are going to subscribe this topic. Dou you want to continue?")) {
                        $('body').css('cursor', 'wait');

                        $.ajax({
                            url:  "/irssrecommendations/Recommendations/CreateTopicSubscription?selectedConceptName="+$(this).attr("value"),
                            cache: false,
                            dataType: "json",
                            success: function(){

                                if (data.errorMessage!=null && data.errorMessage!="") {
                                    alert(data.errorMessage);
                                } else {
                                    alert("Success! Topic subscribed. You can browse it in the RSS Reader view.");
                                }
                                $('body').css('cursor', 'auto');

                            }
                        });
                    }
                });

                $("#llistaItemsSubscripcio").show();
    
                $(".subscribePersFeed").bind("click", function(){

                    $("#urlFeed").val($(this).attr('value'));
                                        
                    $(this).colorbox({
                        width: '360px',
                        height:'200px',
                        inline:true,
                        open:true,
                        href:"#addSubscriptionFromRecommendation"
                    });

                });                
                $("#listFeedsByTopic").bind("click", function() {
                    $("#llistaItemsSubscripcio").html("");
                    $("#llistaItemsSubscripcio").show();
                    $("#llistaItemsSubscripcio").html("<div id='showingElementsBar'>" + htmlLoading + "</div>")

                    listItemsByTopic();
                });
            }
        });
    }
    
    $("#btnAddRecommendedSubscription").bind("click", function(){
        
        var form = $("#formAddSubscriptionFromRecommendation");
        if(confirm("You are going to subscribe this feed. Dou you want to continue?")) {
                            
            var urlFeed = form.find("#urlFeed").attr("value");
            var label = form.find("#labelFeed").attr("value");
            $('body').css('cursor', 'wait');

            $.ajax({
                url: "/irssrecommendations/Lector/AddNewSubscription?urlFeed="+urlFeed+"&etiqueta="+label,
                cache: false,
                dataType: "json",
                success: function(data){
                    if (data.errorMessage!=null && data.errorMessage!="") {
                        alert("ui....");
                        alert(data.errorMessage);
                    } else {
                        initLlistaSubscripcions();
                        parent.$.fn.colorbox.close();
                        alert("Subscription added. You can browse it in the reader.");
                        window.location = $("#refreshHomePage").attr("href");
                    }
                    $('body').css('cursor', 'auto');

                }
            });
        }


    });
    
    $("#topicName").focus(function(){
        $("#topicName").val("");
    });
    
    $(document).bind('cbox_closed', function(){
	 
        if ($("#textLoadingAfegirSubscripcio").html()!="") {
            $("input#urlFeedAfegir").val("");
            $("input#urlFeedEsborrar").val("");
            $("input#formEtiqueta").val("");
            $("input#urlFeed").val("");
            $("input#labelFeed").val("");
            $("#textLoadingAfegirSubscripcio").html("");
            $("#textLoadingEliminarSubscripcio").html("");
        }
	 
    });




});